from datetime import datetime
from sqlalchemy import Column, Integer, String, DateTime, func
from server import Base

# 创建比赛表
class MatchModel(Base):
    __tablename__ = "match"

    # 用户 ID, 用户的唯 一标识
    id = Column(Integer, primary_key=True)
    # 用户名, 限定 80个字符 ，不为空，并且唯一
    name = Column(String(80), nullable=False, unique=True)
    # 用户名, 限定
    champion = Column(String(80))
    # 创建时间,不需要手动传入，在写入记录的时候自动生成
    create_time = Column(DateTime, default=func.now())

    def __repr__(self):
        # 数据库的 魔法方法 直观展示数据
        '''[<User "xxxx">,<User "yyyy">]'''
        return '<Plan %r>' % self.name

    def as_dict(self):
        return {
            "id": self.id,
            "name": self.name,
            "champion": self.champion,
            "create_time": str(self.create_time)
        }
